﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening; // 引入DOTween动画库

/// <summary>
///  @brief 摄像机管理器类，用于控制游戏中的摄像机缩放功能。
/// </summary>
public class CameraManager : MonoBehaviour
{
    /**
     * @brief 主摄像机的引用。
     */
    private Camera mainCamera;

    /**
     * @brief Awake方法，在对象被实例化时自动调用。
     *        初始化主摄像机的引用。
     */
    private void Awake()
    {
        Debug.Log("[CameraManager] Initializing camera manager...");
        mainCamera = Camera.main; // 获取游戏中的主摄像机
        Debug.Log("[CameraManager] Camera manager initialization completed");
    }

    /**
     * @brief 放大摄像机视野的方法。
     *        通过DOTween动画库将摄像机的正交尺寸（OrthoSize）缩小，从而实现放大效果。
     */
    public void ZoomIn()
    {
        Debug.Log("[CameraManager] Zooming in camera");
        mainCamera.DOOrthoSize(15, 0.5f); // 将摄像机的正交尺寸设置为14，动画持续时间为0.5秒
        Debug.Log("[CameraManager] Camera zoom in animation started");
    }

    /**
     * @brief 缩小摄像机视野的方法。
     *        通过DOTween动画库将摄像机的正交尺寸（OrthoSize）增大，从而实现缩小效果。
     */
    public void ZoomOut()
    {
        Debug.Log("[CameraManager] Zooming out camera");
        mainCamera.DOOrthoSize(20f, 0.5f); // 将摄像机的正交尺寸设置为18.48，动画持续时间为0.5秒
        Debug.Log("[CameraManager] Camera zoom out animation started");
    }
}